#include<stdio.h>
#include<string.h>
struct vote
{
    int sum;
    char name[10];
    char name1[10];
    char name2[10];
}str[10], p[10], arr;
int main()
{
    int i, j, k, m, n, a = 0;
    scanf("%d", &n);
    for (i = 0; i < n; i++)
        scanf("%s", str[i].name1);
    scanf("%d", &m);
    for (i = 0; i < m; i++)
        scanf("%s", str[i].name2);
    for (i = 0; i < n; i++)
    {
        str[i].sum = 0;
        for (j = 0; j < m; j++)
        {
            if (strcmp(str[i].name1, str[j].name2) == 0)
                str[i].sum++;
            if (i == 0)
                for (k = 0; k < n; k++)
                {
                    if (strcmp(str[k].name1, str[j].name2) == 0)
                        break;
                    if (strcmp(str[k].name1, str[j].name2) != 0 && k == n - 1)
                    {
                        strcpy(p[a].name, str[j].name2);
                        a++;
                    }
                }
        }
    }
    for (i = 0; i < n - 1; i++)
        for (j = 0; j < n - i - 1; j++)
            if (str[j].sum < str[j + 1].sum)
            {
                arr = str[j]; str[j] = str[j + 1]; str[j + 1] = arr;
            }
    if (a == 0)
    {
        for (i = 0; i < n; i++)
            printf("%s:%d\n", str[i].name1, str[i].sum);
        puts("all are valid!");
    }
    else
    {
        for (i = 0; i < n; i++)
            printf("%s:%d\n", str[i].name1, str[i].sum);
        puts("invalid vote:");
        for (i = 0; i < a; i++)
            printf("%s\n", p[i].name);
    }
    return 0;
}